﻿using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.Infra.UI.Common;


namespace Sinacor.UI.Bovespa.Alocacao.Model
{
    /// <summary>
    /// Armazena os totais de cada tipo de mensagens de alocação
    /// </summary>
    [Serializable]
    public class TotalizadorMensagensAlocacao : BaseModel
    {
        #region Atributos
        private int? _aceitas;
        private int? _falhas;
        private int? _falhasTratadas;
        private int? _filaEnvio;
        private int? _geradas;
        private int? _invalidadas;
        private int? _processandoRetorno;
        private int? _todasMensagens;
        #endregion
        #region Propriedades
        /// <summary>
        /// Total de mensagens aceitas
        /// </summary>
        public int? Aceitas
        {
            get
            {
                return _aceitas;
            }
            set
            {
                SetValue<int?>("Aceitas", ref _aceitas, value);
            }
        }

        /// <summary>
        /// Total de mensagens falhas
        /// </summary>
        public int? Falhas
        {
            get
            {
                return _falhas;
            }
            set
            {
                SetValue<int?>("Falhas", ref _falhas, value);
            }
        }

        /// <summary>
        /// Total de mensagens falhas com tratamento
        /// </summary>
        public int? FalhasTratadas
        {
            get
            {
                return _falhasTratadas;
            }
            set
            {
                SetValue<int?>("FalhasTratadas", ref _falhasTratadas, value);
            }
        }

        /// <summary>
        /// Total de mensagens em fila de envio
        /// </summary>
        public int? FilaEnvio
        {
            get
            {
                return _filaEnvio;
            }
            set
            {
                SetValue<int?>("FilaEnvio", ref _filaEnvio, value);
            }
        }

        /// <summary>
        /// Total de mensagens geradas
        /// </summary>
        public int? Geradas
        {
            get
            {
                return _geradas;
            }
            set
            {
                SetValue<int?>("Geradas", ref _geradas, value);
            }
        }

        /// <summary>
        /// Total de mensagens invalidadas
        /// </summary>
        public int? Invalidadas
        {
            get
            {
                return _invalidadas;
            }
            set
            {
                SetValue<int?>("Invalidadas", ref _invalidadas, value);
            }
        }

        /// <summary>
        /// Total de mensagens processando retorno
        /// </summary>
        public int? ProcessandoRetorno
        {
            get
            {
                return _processandoRetorno;
            }
            set
            {
                SetValue<int?>("ProcessandoRetorno", ref _processandoRetorno, value);
            }
        }

        /// <summary>
        /// Total de mensagens
        /// </summary>
        public int? TodasMensagens
        {
            get
            {
                return this._todasMensagens;
            }
            set
            {
                SetValue<int?>("TodasMensagens", ref this._todasMensagens, value);
            }
        }
        #endregion
    }

}